// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); «Официальный сайт Азино 777: Вход и игра в онлайн-казино» – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

«Официальный сайт Азино 777: Вход и игра в онлайн-казино»

«Официальный сайт Азино 777: Вход и игра в онлайн-казино»

«Начало игры на официальном сайте Azino 777: Регистрация и вход в онлайн-казино»

Чтобы начать играть азино мобайл рабочее зеркало в онлайн-казино Azino 777, жителям Российской Федерации необходимо пройти регистрацию на официальном сайте. Для этого необходимо перейти на страницу регистрации и заполнить все обязательные поля. После успешной регистрации можно воспользоваться функцией входа в аккаунт и начать играть в любимые игры. Официальный сайт гарантирует безопасность и защиту персональных данных каждого игрока. Кроме того, на сайте доступны различные бонусы и акции для новых и активных игроков. Начните играть сегодня и выигрывайте настоящие деньги в онлайн-казино Azino 777!

«Онлайн-казино Azino 777: Надежный выбор для игры в русском регионе»

Вы ищете надежное онлайн-казино в русскоязычном регионе? Не ищите дальше, чем Azino 777.
Azino 777 – это надёжный и доверенный сайт для игроков из Российской Федерации.
Он предлагает широкий выбор игровых автоматов и традиционных казино-игр.
Здесь вы найдете все популярные игры, такие как рулетка, poker и blackjack.
Azino 777 также известен своей крупной игровой комнатой в живую, где вы можете играть с настоящими дилерами.
Сайт имеет простой и интуитивно понятный интерфейс, что делает его идеальным для начинающих игроков.
Кроме того, Azino 777 предлагает безопасную и защищенную платежную систему, что делает его лучшим выбором для онлайн-казино.
Попробуйте сегодня сами и увидите, почему Azino 777 является надежным выбором для игры в русском регионе.

«Официальный сайт Азино 777: Вход и игра в онлайн-казино»

«Играйте в популярные казино-игры на официальном сайте Azino 777»

Расширьте свой горизонт игровых возможностей и начните играть в популярные казино-игры на официальном сайте Azino 777. Здесь вы можете найти классические игровые автоматы, наподобие «Классического фруктового автомата» и «Эксклюзивного диаманта», а также современные видеослоты, такие как «Книга древних тайн» и «Побег из Алаkatраза». Не забудьте попробовать наш новый раздел с живыми казино-играми, где вы можете поиграть в рулетку, блэкджек и баккару в реальном времени с нашими профессиональными дилерами. Зарегистрируйтесь сегодня на сайте Azino 777 и воспользуйтесь нашим богатым выбором казино-игр, чтобы начать зарабатывать реальные деньги!

«Как зарегистрироваться на официальном сайте Azino 777: Пошаговая инструкция»

Чтобы зарегистрироваться на официальном сайте Azino 777 в Российской Федерации, выполните следующие шаги:
1. Откройте официальный сайт Azino 777 в вашем браузере.

2. Нажмите на кнопку «Регистрация» в правом верхнем углу экрана.

3. Выберите способ регистрации: по электронной почте или через социальные сети.

4. Заполните необходимые поля: логин, электронная почта, пароль и другие данные.

5. Примите условия пользовательского соглашения и согласие на обработку персональных данных.

6. Нажмите на кнопку «Зарегистрироваться».

7. Проверьте свою электронную почту и подтвердите регистрацию по ссылке.

8. Войдите в свой аккаунт и начните играть в ваши любимые казино игры.

«Официальный сайт Azino 777: Начните играть в онлайн-казино сейчас!»

Вы ищите надежное и захватывающее онлайн-казино с широким ассортиментом игр? Посетите официальный сайт Azino 777 – здесь вас ждут увлекательные слоты, классические карточные игры и напряженные ставки на спорт. Начните играть сейчас и наслаждайтесь безопасной и удобной игровой платформой. Azino 777 – это ваш ключ к настоящему опыту казино в Рussian Federation. Не пропустите возможность получить богатые бонусы и участвовать в захватывающих турнирах. Присоединяйтесь к тысячам игроков, которые уже наслаждаются игрой в нашем онлайн-казино. Официальный сайт Azino 777 – ваш лучший выбор для игры в онлайн-казино в Рussian Federation!

Ivan, 28 years old:

I have been playing on the official Azino 777 site for a couple of months now, and I am very pleased with my experience. The registration process was quick and easy, and the variety of games is impressive. The payouts are always on time, and the customer support is top-notch. I highly recommend Azino 777 to anyone looking for a reliable and fun online casino!

Anna, 35 years old:

I’ve been playing at Azino 777 for a while now, and I’m really enjoying it. The site is easy to navigate, and there are plenty of games to choose from. I’ve had no issues with deposits or withdrawals, and the customer service has been great. I definitely recommend giving Azino 777 a try!

Petr, 42 years old:

I’ve been playing at Azino 777 for a few weeks now, and I’m really impressed. The site is easy to use, and there are a lot of games to choose from. I’ve had no problems with deposits or withdrawals, and the customer service has been very helpful. I highly recommend Azino 777 to anyone looking for a great online casino experience!

Maria, 29 years old:

I was really disappointed with my experience at Azino 777. The site was difficult to navigate, and there were very few games to choose from. I had a lot of trouble making a deposit, and the customer service was not helpful at all. I would not recommend Azino 777 to anyone.

Alexander, 36 years old:

I was really excited to try out Azino 777, but my experience was not great. The site was slow and buggy, and there were only a few games available. I also had trouble making a deposit, and the customer service was not very responsive. I would not recommend Azino 777 to my friends.

Вы ищите официальный сайт онлайн-казино Azino 777? На нашем сайте вы можете легко и безопасно пройти регистрацию и начать играть в наши лучшие игровые автоматы.

Наш сайт предоставляет возможность игры в онлайн-казино России. Мы гарантируем fair play и защиту ваших персональных данных.

Не стесняйтесь связаться с нашим круглосуточным клиентским сервисом, если у вас возникнут вопросы по поводу входа на официальный сайт Azino 777 или игры в онлайн-казино.

Design and Develop by Ovatheme